package com.yqs.mapper;

import com.yqs.model.entity.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @author Ye QS
 * @version 0.1
 * @className UserMapper
 * @description
 * @date 2024/8/21 10:28
 * @since jdk11
 */
public interface UserMapper {
    /**
     * 查询所有
     *
     * @return
     */
    List<User> getAll();

    /**
     * 新增用户
     *
     * @param user
     * @return
     */
    int addUser(User user);

    /**
     * 前端根据id获得user对象
     * 将对象传入后端，后端根据user对象删除指定对象
     *
     * @param user
     * @return
     */
    int delUser(User user);

    /**
     * 前端根据id获得user对象
     * 将对象传入后端，后端根据user对象修改指定对象
     * @param user
     * @return
     */
    int editUser(User user);

    /**
     * 模糊查询匹配的用户列表
     *
     * @param user
     * @return
     */
    List<Object> getLikeUsers(Map<String, Object> user);

    /**
     * 模糊查询匹配的用户数量
     *
     * @param user
     * @return
     */
    Integer getLikeUsersCount(Map<String, Object> user);


    User getUser(User user);
}
